73 research outputs found

    Reclaiming the energy of a schedule: models and algorithms

    Get PDF
    We consider a task graph to be executed on a set of processors. We assume that the mapping is given, say by an ordered list of tasks to execute on each processor, and we aim at optimizing the energy consumption while enforcing a prescribed bound on the execution time. While it is not possible to change the allocation of a task, it is possible to change its speed. Rather than using a local approach such as backfilling, we consider the problem as a whole and study the impact of several speed variation models on its complexity. For continuous speeds, we give a closed-form formula for trees and series-parallel graphs, and we cast the problem into a geometric programming problem for general directed acyclic graphs. We show that the classical dynamic voltage and frequency scaling (DVFS) model with discrete modes leads to a NP-complete problem, even if the modes are regularly distributed (an important particular case in practice, which we analyze as the incremental model). On the contrary, the VDD-hopping model leads to a polynomial solution. Finally, we provide an approximation algorithm for the incremental model, which we extend for the general DVFS model.Comment: A two-page extended abstract of this work appeared as a short presentation in SPAA'2011, while the long version has been accepted for publication in "Concurrency and Computation: Practice and Experience

    Two approximation algorithms for bipartite matching on multicore architectures

    Get PDF
    International audienceWe propose two heuristics for the bipartite matching problem that are amenable to shared-memory parallelization. The first heuristic is very intriguing from a parallelization perspective. It has no significant algorithmic synchronization overhead and no conflict resolution is needed across threads. We show that this heuristic has an approximation ratio of around 0.632 under some common conditions. The second heuristic is designed to obtain a larger matching by employing the well-known Karp-Sipser heuristic on a judiciously chosen subgraph of the original graph. We show that the Karp-Sipser heuristic always finds a maximum cardinality matching in the chosen subgraph. Although the Karp-Sipser heuristic is hard to parallelize for general graphs, we exploit the structure of the selected subgraphs to propose a specialized implementation which demonstrates very good scalability. We prove that this second heuristic has an approximation guarantee of around 0.866 under the same conditions as in the first algorithm. We discuss parallel implementations of the proposed heuristics on a multicore architecture. Experimental results, for demonstrating speed-ups and verifying the theoretical results in practice, are provided

    Brief Announcement: Reclaiming the Energy of a Schedule, Models and Algorithms

    Get PDF
    Version longue publiée dans Concurrency and Computation: Practice and Experience.International audienceWe consider a task graph to be executed on a set of processors. We assume that the mapping is given, say by an ordered list of tasks to execute on each processor, and we aim at optimizing the energy consumption while enforcing a prescribed bound on the execution time. While it is not possible to change the allocation of a task, it is possible to change its speed. We study the complexity of the problem for different models: continuous speeds, discrete modes, distributed either arbitrarily or regularly, and VDD-hopping

    Scheduling Tightly-Coupled Applications on Heterogeneous Desktop Grids

    Get PDF
    International audiencePlatforms that comprise volatile processors, such as desktop grids, have been traditionally used for executing independent-task applications. In this work we study the scheduling of tightly-coupled iterative master-worker applications onto volatile processors. The main challenge is that workers must be simultaneously available for the application to make progress. We consider three additional complications: (i) one should take into account that workers can become temporarily reclaimed and, for data-intensive applications; (ii) one should account for the limited bandwidth between the master and the workers; and (iii) workers are strongly heterogeneous, with different computing speeds and availability probability distributions. In this context, our first contribution is a theoretical study of the scheduling problem in its off-line version, i.e., when processor availability is known in advance. Even in this case the problem is NP-hard. Our second contribution is an analytical approximation of the expectation of the time needed by a set of workers to complete a set of tasks and of the probability of success of this computation. This approximation relies on a Markovian assumption for the temporal availability of processors. Our third contribution is a set of heuristics, some of which use the above approximation to favor reliable processors in a sensible manner. We evaluate these heuristics in simulation. We identify some heuristics that significantly outperform their competitors and derive heuristic design guidelines

    Algorithmes et structures de donnĂ©es pour le problĂšme de requĂȘtes d’existences d’hyperarĂȘtes dans des hypergraphes

    Get PDF
    Revised version April 2022We consider the problem of querying the existence of hyperedges in hypergraphs.More formally, we are given a hypergraph, and we need to answer queriesof the form ``does the following set of vertices form a hyperedge in the given hypergraph?''. Our aim is to set up data structures based on hashing to answer thesequeries as fast as possible.We propose an adaptation of a well-known perfect hashing approach for the problem at hand.We analyze the space and run time complexity of the proposed approach,and experimentally compare it with the state-of-the-art hashing-based solutions.Experiments demonstrate the efficiency of the proposed approach with respect to the state-of-the-art.Nous considĂ©rons le problĂšme de requĂȘtes d'existences d'hyperarĂȘtes dansdes hypergraphes. Plus formellement, pour un hypergraphe donnĂ©, nousdevons rĂ©pondre Ă  des requĂȘtes de la forme "est-ce que l'ensemble desommets suivant forme une hyperarĂȘte de l'hypergraphe?". Notre objectifest de mettre en place une structure de donnĂ©e basĂ©e sur du hachage pourrĂ©pondre Ă  ces requĂȘtes le plus rapidement possible. Nous proposons uneadaptation d'une approche bien connue de hachage parfait pour notreproblĂšme. Nous analysons la complexitĂ© en temps et en espace de cetteapproche, et nous la comparons expĂ©rimentalement Ă  des solutions del'Ă©tat de l'art basĂ©es sur le hachage. Les expĂ©riences dĂ©montrent l'efficacitĂ© de l'approche proposĂ©e par rapport Ă  l'Ă©tat de l'art

    Scaling matrices and counting the perfect matchings in graphs

    Get PDF
    We investigate efficient randomized methods for approximating the number of perfect matchings in bipartite graphs and general graphs. Our approach is based on assigning probabilities to edges

    Reclaiming the energy of a schedule: models and algorithms

    Get PDF
    We consider a task graph to be executed on a set of processors. We assume that the mapping is given, say by an ordered list of tasks to execute on each processor, and we aim at optimizing the energy consumption while enforcing a prescribed bound on the execution time. While it is not possible to change the allocation of a task, it is possible to change its speed. Rather than using a local approach such as backfilling, we consider the problem as a whole and study the impact of several speed variation models on its complexity. For continuous speeds, we give a closed-form formula for trees and series-parallel graphs, and we cast the problem into a geometric programming problem for general directed acyclic graphs. We show that the classical dynamic voltage and frequency scaling (DVFS) model with discrete modes leads to a NP-complete problem, even if the modes are regularly distributed (an important particular case in practice, which we analyze as the incremental model). On the contrary, the VDD-hopping model leads to a polynomial solution. Finally, we provide an approximation algorithm for the incremental model, which we extend for the general DVFS model

    Ordonnancement pour la Fiabilité : complexité et algorithmes

    No full text
    This thesis deals with the mapping and the scheduling of workflows. In this context, we consider unreliable platforms, with processors subject to failures. In a first part, we consider a particular model of streaming applications : the filtering services. In this context, we aim at minimizing period and latency. We first neglect communication costs. In this model, we study scheduling problems on homogeneous and heterogeneous platforms. Then, the impact of communication costs on scheduling problems of a filtering application is studied. Finally, we consider the scheduling problem of such an application on a chain of processors. The theoretical complexity of any variant of this problem is proved. This filtering property can model the reliability of processors. The results of some computations are successfully computed, and some other ones are lost. We consider the more frequent failure types : transient failures. We aim efficient and reliable schedules. The complexity of many variants of this problem is proved. Two heuristics are proposed and compared using using simulations. Even if transient failures are the most common failures in classical grids, some particular type of platform are more concerned by other type of problems. Desktop grids are especially unstable. In this context, we want to execute iterative applications. All tasks are executed, then a synchronization occurs, and so on. Two variants of this problem are considered : applicationsof independent tasks, and applications where all tasks need to be executed at same speed. In both cases, the problem is first theoretically studied, then heuristics are proposed and compared using simulations.Les travaux prĂ©sentĂ©s dans cette thĂšse portent sur le placement et l’ordonnancement d’applications de flots de donnĂ©es. On se place dans le contexte de plates-formes composĂ©es de processeurs sujets Ă  des pannes. Dans une premiĂšre partie, on considĂšre un type particulier d’applications de flots de donnĂ©es: les services filtrants. On Ă©tudie l'ordonnancement de telles applications sur des plates-formes homogĂšnes et hĂ©tĂ©rogĂšnes, d'abord sans tenir compte des coĂ»ts de communication, puis en les incluant dans le modĂšle. On considĂšre enfin l’ordonnancement d’un tel calcul sur une chaĂźne de processeurs. Le comportement d’un service filtrant est comparable Ă  celui d’un calcul effectuĂ© sur un processeur non fiable: certains rĂ©sultats vont ĂȘtre calculĂ©s, et d’autres perdus. On Ă©tudie le modĂšle des pannes transitoires. On veut effectuer un calcul Ă  la fois fiable et efficace. La complexitĂ© de diffĂ©rentes variantes de ce problĂšme est dĂ©montrĂ©e. Deux heuristiques sont dĂ©crites, puis comparĂ©es expĂ©rimentalement. Si les pannes transitoires sont les pannes les plus frĂ©quemment rencontrĂ©es sur des grilles de calculs classiques, certains types de plates-formes rencontrent d’autres types de dĂ©faillances. Les grilles de volontaires sont particuliĂšrement instables. Sur ce type de plate-forme, on veut exĂ©cuter des calculs itĂ©ratifs. Cette application est constituĂ©e soit de tĂąches indĂ©pendantes, soit de tĂąches couplĂ©es, qui doivent ĂȘtre calculĂ©es ensemble et au mĂȘme rythme. Dans chaque cas, le problĂšme est d’abord Ă©tudiĂ© thĂ©oriquement, puis des heuristiques sontproposĂ©es, et leur performances sont comparĂ©es
    • 

    corecore